package com.fa4j.system.account.model;


import com.fa4j.common.base.model.PageQuery;
import com.fa4j.common.data.annotation.Query;
import com.fa4j.common.data.model.QueryType;
import com.fa4j.common.web.model.AppType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Schema(description = "权限日志分页查询参数")
public class AccountLogQuery extends PageQuery {

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "应用类型")
    private AppType appType;

    @Schema(description = "账号ID")
    private Long accountId;

    @Schema(description = "模块名称")
    private String moduleName;

    @Query(type = QueryType.LIKE)
    @Schema(description = "资源名称")
    private String resourceName;

    @Schema(description = "资源方法")
    private String resourceMethod;

    @Query(type = QueryType.LIKE)
    @Schema(description = "资源路径")
    private String resourcePath;

    @Schema(description = "是否成功")
    private Boolean success;

    @Query(type = QueryType.LIKE)
    @Schema(description = "客户端IP")
    private String clientIp;

    @Query(type = QueryType.GT)
    @Schema(description = "开始时间")
    private LocalDateTime startTime;

    @Query(type = QueryType.LT)
    @Schema(description = "结束时间")
    private LocalDateTime endTime;

}
